#region head comment
/*
Code generate by YhdSdkTool.
email:starpeng@vip.qq.com
2013-01-21 23:00:57:786 +08:00
*/
#endregion

using System;
using System.Xml.Serialization;
using System.Collections.Generic;
using YhdSdk.Domain;
using YhdSdk.Domain.Group;
using YhdSdk.Response.Group;

namespace YhdSdk.Request.Group
{
    /// <summary>
    /// 消费券短信重新发送
    ///<para></para>
    ///<para>用户在1号商城平台上，请求重新发码，团购平台调用此服务，为用户重新发送短信。</para>
    ///<para>用户接收成功，则返回成功记录数。用户接收失败，则返回失败记录数，及相应的错误信息描述。</para>
    /// </summary>
    public class YhdGroupBuyVoucherResendRequest : IYhdRequest<YhdGroupBuyVoucherResendResponse>
    {
        /// <summary>
        /// 1号商城订单号码
        /// </summary>
        [XmlElement("orderCode")]
        public String OrderCode
        {
            get;
            set;
        }

        /// <summary>
        /// 合作方订单号码
        /// </summary>
        [XmlElement("partnerOrderCode")]
        public String PartnerOrderCode
        {
            get;
            set;
        }

        /// <summary>
        /// 消费券号码
        /// </summary>
        [XmlElement("voucherCode")]
        public String VoucherCode
        {
            get;
            set;
        }

        /// <summary>
        /// 接收方手机号码
        /// </summary>
        [XmlElement("receiveMobile")]
        public String ReceiveMobile
        {
            get;
            set;
        }

        /// <summary>
        /// 请求时间 格式：yyyy-MM-dd HH:mm:ss
        /// </summary>
        /// <example>2011-12-12 20:10:10</example>
        [XmlElement("requestTime")]
        public String RequestTime
        {
            get;
            set;
        }

        /// <summary>
        /// Api接口名称
        /// </summary>
        public String ApiName
        {
            get{ return "yhd.group.buy.voucher.resend"; }
        }

        /// <summary>
        /// 获取参数列表
        /// </summary>
        public IDictionary<string, string> GetParameters()
        {
            YhdDictionary parameters = new YhdDictionary();
            parameters.Add("orderCode" ,this.OrderCode);
            parameters.Add("partnerOrderCode" ,this.PartnerOrderCode);
            parameters.Add("voucherCode" ,this.VoucherCode);
            parameters.Add("receiveMobile" ,this.ReceiveMobile);
            parameters.Add("requestTime" ,this.RequestTime);
            return parameters;
        }

        /// <summary>
        /// 验证参数
        /// </summary>
        public void Validate()
        {
            RequestValidator.ValidateRequired("orderCode", this.OrderCode);
            RequestValidator.ValidateRequired("partnerOrderCode", this.PartnerOrderCode);
            RequestValidator.ValidateRequired("voucherCode", this.VoucherCode);
            RequestValidator.ValidateRequired("receiveMobile", this.ReceiveMobile);
            RequestValidator.ValidateRequired("requestTime", this.RequestTime);
        }

    }
}
